// const { http } = require("../../utils/http")
import http from '../../utils/api' // 引入api接口管理文件
var app = getApp();


// pages/dynamic_details/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    array: ['编辑', '删除'],
    arrays: ['按热度', '按时间正序', '按时间倒序'],
    guanz:true,
    page:1, // 初始分页
    currentTab: '0', // 全部评论
    order:0 //默认按热度
  },

    // 按热度
    bindhotd: function(e) {
      let that = this;
      this.setData({ // 赋值默认值 
        indexs: e.detail.value,
        order: e.detail.value,
        page:1,
      })
      let param;
      // 根据不同的tab页排序 传不同的参数
      if(that.data.currentTab == '0'){
         param = {'page': that.data.page,'news_id':that.data.info.id,'order': e.detail.value};
      }else{
        param = {'page': that.data.page,'news_id':that.data.info.id,'user_id':that.data.info.user_id,'order': e.detail.value};
      }
      // 请求评论接口
      http.news_comment_lists({
        data: param,
        success: res => {
          let zanwu
          if (res.code == 1) { // 成功的情况
            if (res.data.length < 1) {
              zanwu = 1; // 是否显示没有数据
            } else {
              zanwu = 0;
            };
            that.setData({
              comment_list: res.data,
              zanwu: zanwu
            })
          } else {
            app.tip(res.info);
          }
        },
        fail: err => {
          console.log(err)
        }
      })
    },

  /**
   * 跳转全部回复
   */
  cha_evele:function(e){
    wx.navigateTo({
      url: '../reply_all/index?id='+ e.currentTarget.dataset.comment_id,
    })
  },

   // 切换tab
   swichNav: function (e) {
    var that = this;
    if (this.data.currentTab === e.target.dataset.current) {
      return false;
    } else {
      that.setData({
        currentTab: e.target.dataset.current,
        page: 1, // 重置分页
        zanwu: 0, // 重置显示
      })
    }
    switch (that.data.currentTab) {
      case '0': // 全部评论
        http.news_comment_lists({
          data: {
            'page': that.data.page,
            'news_id':that.data.info.id,
            'order':that.data.order
          },
          // 查关注人的文章
          success: res => {
            let zanwu;
            if (res.code == 1) { // 成功的情况
              if (res.data.length < 1) {
                zanwu = 1; // 是否显示没有数据
              } else {
                zanwu = 0;
              };
              that.setData({
                comment_list: res.data,
                zanwu: zanwu
              })
            } else {
              app.tip(res.info);
            }
          },
          fail: err => {
            console.log(err)
          }
        })
        break;
      case '1': // 只看楼主  
        http.news_comment_lists({
          data: {
            'page': that.data.page,
            'news_id':that.data.info.id,
            'user_id':that.data.info.user_id, //作者的id
            'order':that.data.order
        },
          success: res => {
            let zanwu
            if (res.code == 1) { // 成功的情况
              if (res.data.length < 1) {
                zanwu = 1; // 是否显示没有数据
              } else {
                zanwu = 0;
              };
              that.setData({
                comment_list: res.data,
                zanwu: zanwu
              })
            } else {
              app.tip(res.info);
            }
          },
          fail: err => {
            console.log(err)
          }
        })
        break;
    }
  },

  /**
   * tab切换
   * @param {*} e 
   */
  bindPickerChange: function(e) {
    this.setData({
      index: e.detail.value
    })
    var index_x=this.data.index
    if(index_x==0){ // 修改
        wx.navigateTo({
          url: '../edit/index?id='+e.currentTarget.dataset.id,
        })
    }if(index_x==1){ // 删除
      wx.showModal({
        title: '是否删除此帖?',
        content: '',
        cancelText:'是',
        confirmText:'否',
        success(res){
          if(res.cancel == true){
          http.news_del({ // 文章详情
            data:{id:e.currentTarget.dataset.id},
            success:res=>{
              app.tip(res.info);
              setTimeout(function () {
                //要延时执行的代码
                wx.navigateBack();
              }, 1500) //延迟时间
            },
            fail:err=>{
              console.log(err)
            }
          })
        }
        }
    })
  }
  },

  // 预览图片
  previewImage: function(e){
    var that = this
    var index = e.currentTarget.dataset.index
    var pictures = that.data.info.image
    wx.previewImage({
      current: pictures[index],
      urls: pictures
    })
 },

 // 详情页预览图片
 previewImage2: function(e){
  var that = this
  var key = e.currentTarget.dataset.key; // 当前条目索引
  var index = e.currentTarget.dataset.index; // 当前图片索引
  var pictures = that.data.comment_list[key]['image']
  wx.previewImage({
    current: pictures[index],
    urls: pictures
  })
},

  list_detalis:function(){
    wx.navigateTo({
      url: '../dynamic_details/index',
    })
  },

  /**
   * 评论
   */
  new_xs:function(e){
    wx.navigateTo({
      url: '../reply/index?news_id='+e.currentTarget.dataset.news_id + '&title=' + e.currentTarget.dataset.title+ '&author_id=' + e.currentTarget.dataset.author_id,
    })
  },

  huifu:function(){
    wx.navigateTo({
      url: '../reply/index',
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this;
    let news_id = options.news_id;
    http.news_details({ // 文章详情
      data:{news_id:news_id},
      success:res=>{
        if(res.code == 1){ // 成功的情况
          that.setData({
             info:res.data
          })
        }else{
          app.tip(res.info);
          setTimeout(function () {
            //要延时执行的代码
            wx.navigateBack();
          }, 1000) //延迟时间
        }
      },
      fail:err=>{
        console.log(err)
      }
    })
    http.news_comment_lists({ // 评论列表
      data:{news_id:news_id,page:that.data.page,'order':that.data.order},
      success:res=>{
        let zanwu;
        if(res.code == 1){ // 成功的情况
          if (res.data.length < 1) {
            zanwu = 1; // 是否显示没有数据
          } else {
            zanwu = 0;
          };
          that.setData({
             comment_list:res.data,
             zanwu:zanwu
          })
        }else{
          app.tip(res.info);
        }
      },
      fail:err=>{
        console.log(err)
      }
    })
    wx.stopPullDownRefresh();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    let that = this;
    that.setData({
      page:1, // 重置分页
    })
    that.onLoad({'news_id':that.data.info.id});
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    let that=this
    that.setData({ 
      page: that.data.page + 1, //每次触发上拉事件，把page+1  
    });
    let param;
    if(that.data.currentTab == 0){
      param = {page:that.data.page,news_id:that.data.info.id}
    }else{
      param = {page:that.data.page,news_id:that.data.info.id,user_id:that.data.info.user_id}
    }
    //调用分页查询数据的方法，返回新一页的数据为res
    http.news_comment_lists({
      data:param,
      success:res=>{
        if(res.code == 1){ // 成功的情况
          var tmpArr = that.data.comment_list;
           // 这一步实现了上拉加载更多
           tmpArr.push.apply(tmpArr,res.data);
           let show;
           if(res.data.length < 1){
              show = 1 // 显示没有更多
           }else{
              show = 0;
           }
           that.setData({
            comment_list: tmpArr,
            show : show // 显示没有更多
           })
        }else{
          app.tip(res.info);
        }
      },
      fail:err=>{
        console.log(err)
      }
    })
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (e) {
    let news_id = e.target.dataset.news_id;
    let that = this;
    let param = {news_id:news_id}; // 提交参数
    // 请求分享接口 记录分享次数
    http.news_share({
      data:param,
      success:res=>{
        if(res.code == 1){
          // 点赞成功时遍历msg对象并获取到当前节点的id
          that.setData({
            // 改变对象节点的分享数量
            ['info.share']:that.data.info['share']+1 ,
          })
        }else{
          app.tip(res.info)
        }
      },
      fail:err=>{
        console.log(err)
      }
    })
  },

   /**
   * 点赞
   * @param {*} e 
   */
  giveLike:function(e){
    let data = e.currentTarget.dataset;let that = this; // 传来的数据
    let status = 0; // 默认点赞动作
    if(data.like_status ==  0){
      status = 1;  // 点过赞 再点就是取消点赞
    }
    let param = {news_id:data.news_id,status:status};
    http.news_like({
      data:param,
      success:res=>{
          app.tip(res.info,1000); // 提示信息
          if(res.code == 1){
              // 点赞成功时遍历msg对象并获取到当前节点的id
              that.setData({
                // 改变对象节点的点赞状态
                ['info.like_status']: status,
              })
              if(status == 0){ // 点赞+1 取消减1
                that.setData({
                  ['info.like']: that.data.info['like']+1,
                })
              }else{
                that.setData({
                  ['info.like']: that.data.info['like']-1,
                  })
              }
          }
      },
      fail:err=>{
        console.log(err)
      }
    })
  },

  /**
   * 评论点赞
   */
  commentGiveLike:function(e){
    let data = e.currentTarget.dataset;let that = this; // 传来的数据
    let status = 0; // 默认点赞动作
    if(data.like_status ==  0){
      status = 1;  // 点过赞 再点就是取消点赞
    }
    let param = {comment_id:data.comment_id,status:status};
    http.news_comment_like({
      data:param,
      success:res=>{
          app.tip(res.info,1000); // 提示信息
          if(res.code == 1){
            for (var i = 0; i < that.data.comment_list.length; i++) {
              if (that.data.comment_list[i].id == data.comment_id) {
                // 点赞成功时遍历msg对象并获取到当前节点的id
                that.setData({
                  // 改变对象节点的点赞状态
                  ['comment_list[' + i + '].like_status']: status,
                })
                if(status == 0){ // 点赞+1 取消减1
                  that.setData({
                   ['comment_list[' + i + '].like']: that.data.comment_list[i]['like']+1,
                  })
                }else{
                  that.setData({
                    ['comment_list[' + i + '].like']: that.data.comment_list[i]['like']-1,
                   })
                }
              }
            }
          }
      },
      fail:err=>{
        console.log(err)
      }
    })
  },

  // 关注
  follow: function(e){
    let data = e.currentTarget.dataset;let that = this; // 传来的数据
    let status = 0; // 默认关注动作
    if(data.status ==  0){
      status = 1;  // 状态是已经关注 再点就是取消关注
    }
    let param = {user_id:data.user_id,status:status};
    http.fans_followed({
      data:param,
      success:res=>{
          app.tip(res.info,1000); // 提示信息
          if(res.code == 1){
              // 点赞成功时遍历msg对象并获取到当前节点的id
              if(status == 0){
                that.setData({
                  // 改变对象节点的点赞状态
                  ['info.follow_status']: 0,
                })
              }else{
                that.setData({
                  // 改变对象节点的点赞状态
                  ['info.follow_status']: 1,
                })
              }
          }
      },
      fail:err=>{
        console.log(err)
      }
    })
  },
  videometa:function (e) {
    var that = this;
    //获取系统信息
    wx.getSystemInfo({
      success (res) {
        //视频的高
        var height = e.detail.height;
        
        //视频的宽
        var width = e.detail.width;
 
        //算出视频的比例
        var proportion = height / width;

        //res.windowWidth为手机屏幕的宽。
        var windowWidth = res.windowWidth;
 
        let bl = 750/res.windowWidth; //该设备的rpx与px的比例

        let bl_width = windowWidth - 70/bl; // 宽度的百分之92 减去 60rpx 转换的像素

        //算出当前宽度下高度的数值
        height = proportion * bl_width;
        that.setData({
          height,
          width:bl_width
        });
      }
    })
  },
  videometa2:function (e) {
    var that = this;
    //获取系统信息
    wx.getSystemInfo({
      success (res) {
        //视频的高
        var height = e.detail.height;
        
        //视频的宽
        var width = e.detail.width;
 
        //算出视频的比例
        var proportion = height / width;

        //res.windowWidth为手机屏幕的宽。
        var windowWidth = res.windowWidth;
 
        let bl = 750/res.windowWidth; //该设备的rpx与px的比例

        let bl_width = windowWidth - windowWidth*0.16 - 70/bl; // 宽度的百分之92 减去 60rpx 转换的像素

        //算出当前宽度下高度的数值
        height = proportion * bl_width;
        that.setData({
          height2:height,
          width2:bl_width
        });
      }
    })
  },
})